iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Python

我的Python奇幻學習之旅系列 第 28

鐵人賽 Day28 Python的奇幻之旅-pandas(熊貓)-10

  • 分享至 

  • xImage
  •  

Pandas DataFrame 常用方法示例-3

1. dtypes

返回 DataFrame 各列的數據類型。

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4.0, 5.5, 6.1], 'C': ['a', 'b', 'c']}
df = pd.DataFrame(data)
print(df.dtypes)
A      int64
B    float64
C     object
dtype: object

2. duplicated()

對重複的行返回 True,否則返回 False。

data = {'A': [1, 2, 2], 'B': [4, 5, 5]}
df = pd.DataFrame(data)
print(df.duplicated())
0    False
1    False
2     True
dtype: bool

3. empty

如果 DataFrame 為空,則返回 True,否則返回 False。

empty_df = pd.DataFrame()
print(empty_df.empty)  # True
True

4. eq()

對等於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.eq(2))
       A
0  False
1   True
2  False

5. equals()

如果兩個 DataFrame 相等,則返回 True,否則返回 False。

df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'A': [1, 2]})
print(df1.equals(df2))  # True
True

6. eval()

計算指定的字符串。

df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
result = df.eval('C = A + B')
print(result)
   A  B  C
0  1  3  4
1  2  4  6

7. explode()

將每個元素轉換為一行。

data = {'A': [[1, 2], [3, 4]]}
df = pd.DataFrame(data)
exploded_df = df.explode('A')
print(exploded_df)
   A
0  1
0  2
1  3
1  4

8. ffill()

用前一行的值替換空值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
ffilled_df = df.ffill()
print(ffilled_df)
     A
0  1.0
1  1.0
2  3.0

9. fillna()

用指定值替換空值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
filled_df = df.fillna(0)
print(filled_df)
   A
0  1.0
1  0.0
2  3.0

10. filter()

根據指定的過濾條件過濾 DataFrame。

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
filtered_df = df.filter(items=['A'])
print(filtered_df)
   A
0  1
1  2
2  3

11. first()

返回指定日期選擇的第一行。

data = {'date': ['2024-01-01', '2024-01-02', '2024-01-01'], 'A': [1, 2, 3]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
first_row = df.groupby('date').first()
print(first_row)
            A
date         
2024-01-01  1
2024-01-02  2

12. floordiv()

將 DataFrame 的值與指定值相除,並向下取整。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
floordiv_df = df.floordiv(2)
print(floordiv_df)
   A
0  0
1  1
2  1

13. ge()

對大於或等於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ge(2))
       A
0  False
1   True
2   True

14. get()

返回指定鍵的元素。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.get('A'))
0    1
1    2
2    3
Name: A, dtype: int64

15. groupby()

將行/列分組為指定的組。

data = {'A': ['foo', 'bar', 'foo', 'bar'], 'B': [1, 2, 3, 4]}
df = pd.DataFrame(data)
grouped_df = df.groupby('A').sum()
print(grouped_df)
        B
A       
bar    6
foo    4

16. gt()

對大於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.gt(1))
       A
0  False
1   True
2   True

17. head()

返回表頭和前 10 行或指定數量的行。

data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
print(df.head(5))
   A
0  1
1  2
2  3
3  4
4  5

18. iat()

獲取或設置指定位置的元素的值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
value_at = df.iat[0, 0]  # 獲取值
df.iat[0, 0] = 100  # 設置值
print(df)
     A
0  100
1    2
2    3

19. idxmax()

返回指定軸上最大值的標籤。

data = {'A': [1, 3, 2]}
df = pd.DataFrame(data)
print(df['A'].idxmax())
1

20. idxmin()

返回指定軸上最小值的標籤。

data = {'A': [1, 3, 2]}
df = pd.DataFrame(data)
print(df['A'].idxmin())
0

21. iloc()

獲取或設置指定位置的一組元素的值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.iloc[0, 0])  # 獲取值
df.iloc[0, 0] = 100  # 設置值
print(df)
     A
0  100
1    2
2    3

上一篇
鐵人賽 Day27 Python的奇幻之旅-pandas(熊貓)-9
下一篇
鐵人賽 Day29 Python的奇幻之旅-pandas(熊貓)-11
系列文
我的Python奇幻學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言